//1. 导入 mysql 模块
const mysql = require('mysql')
//2. 建立与 MySQL 数据库的连接关系
const db = mysql.createPool({
    host: '127.0.0.1',//数据库的IP地址
    user: 'root',//登录数据库的账号
    password: '111111',//登录数据库的密码
    database: 'MySQL57'//指定要操作哪个数据库
})


//测试 mysql 模块是否能正常工作
// db.query('select 1', (err, results) => {
//     //mysql 模块工作期间报错
//     if(err) return console.log(err.message);
//     //能够成功的执行 SQL 语句
//     console.log(results);
// })

//查询 users 表中所有的数据
// const sqlStr = 'select * from users'
// db.query(sqlStr, (err, results) => {
//     //查询数据失败
//     if(err) return console.log(err.message);
//     //查询数据成功
//     //注意：如果执行的是 select 查询语句，则执行的结果是数组
//     console.log(results);
// })


//向 users 表中新增一条数据，其中 username 的值为 Spider-Man， password 的值为 pcc123
// const user = {username: 'Spider-Man',password: 'pcc123'}
// //定义待执行的 SQL 语句
// const sqlStr = 'insert into users (username, password) values (?, ?)'
// //执行 SQL 语句
// db.query(sqlStr, [user.username, user.password], (err, results) => {
//     //执行 SQL 语句失败啦
//     if(err) return console.log(err.message);
//     //成功了
//     //注意：如果执行的是 insert into 插入语句，则 results 是一个对象
//     //可以通过 affectedRows 睡醒，来判断是否插入数据成功
//     if(results.affectedRows === 1){
//         console.log('插入数据成功');
//     }
// })


//演示插入数据的便捷方式
// const user = {username: 'Spider-Man2',password: 'pcc4321'}
// //定义待执行的 SQL 语句
// const sqlStr = 'insert into users set ?'
// //执行 SQL 语句
// db.query(sqlStr, user, (err, results) => {
//     if(err) return console.log(err.message);
//     if(results.affectedRows === 1){
//         console.log('插入数据成功');
//     }
// })


//演示如何更新用户的信息
// const user = {id: 6, username: 'aaa',password: '000'}
// //定义 SQL 语句
// const sqlStr = 'update users set username=?, password=? where id=?'
// //执行 SQL 语句
// db.query(sqlStr, [user.username, user.password, user.id], (err, results) => {
//     if(err) return console.log(err.message);
//     if(results.affectedRows === 1){
//         console.log('更新成功');
//     }
// })


//演示更新数据的便捷方式
// const user = {id: 6, username: 'aaaa',password: '0000'}
// //定义 SQL 语句
// const sqlStr = 'update users set ? where id=?'
// //执行 SQL 语句
// db.query(sqlStr, [user, user.id], (err, resullts) => {
//     if(err) return console.log(err.message);
//     if(resullts.affectedRows === 1){
//         console.log('更新数据成功');
//     }
// })


//删除 id 为 5 的用户
// const sqlStr = 'delete from users where id=?'
// db.query(sqlStr, 5, (err, results) => {
//     if(err) return console.log(err.message);
//     //注意：当执行 delete 语句之后，结果也是一个对象，也会包含 affectedRows 属性
//     if(results.affectedRows === 1){
//         console.log('删除数据成功');
//     }
// })


//标记删除
const sqlStr = 'update users set statys=? where id=?'
db.query(sqlStr, [1, 6], (err, results) => {
    if(err) return console.log(err.message);
    if(results.affectedRows === 1){
        console.log('标记删除成功');
    }
})